home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 2).iso / 1089 / voxtudio.mst < prev   
Text File  |  1997-04-16  |  8KB  |  329 lines

  1. '**************************************************************************
  2. '*                       Vox Studio setup script
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME       = 100
  10. CONST ASKQUIT       = 200
  11. CONST DESTPATH      = 300
  12. CONST EXITFAILURE   = 400
  13. CONST EXITQUIT      = 600
  14. CONST EXITSUCCESS   = 700
  15. CONST BADPATH       = 6400
  16. CONST BADNAME       = 6500
  17. CONST MAXIMIZE      = 6600
  18. CONST CDALREADYUSED = 7100
  19. CONST WRITEPROTECT  = 7200
  20. CONST CDCONFIRMINFO = 7300
  21. CONST CDGETNAMEORG  = 7500
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. GLOBAL DEST$        ''Default destination directory.
  27. GLOBAL NAME1$       ''Clients name.
  28. GLOBAL COMPANY$     ''Clients company.
  29. GLOBAL STREET$      ''Clients address.
  30. GLOBAL CITY$        ''Clients city.
  31. GLOBAL ZIP$         ''Clients zip code.
  32. GLOBAL COUNTRY$     ''Clients country.
  33. GLOBAL PHONE$       ''Clients phone number.
  34. GLOBAL FAX$         ''Clients fax number.
  35. GLOBAL SRC$         ''Source directory.
  36. GLOBAL MAXIMIZED$   ''Window is maximized.
  37.  
  38. DECLARE SUB Install
  39. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  40.  
  41. INIT:
  42.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  43.  
  44.     SetBitmap CUIDLL$, LOGO
  45.     SetTitle "Vox Studio"
  46.     SetTimeVal 01,05,00
  47.  
  48.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  49.     IF szInf$ = "" THEN
  50.         szInf$ = GetSymbolValue("STF_CWDDIR") + "VOXTUDIO.INF"
  51.     END IF
  52.     ReadInfFile szInf$
  53.  
  54.     DEST$ = "C:\VOXTUDIO"
  55.     NAME1$ = ""
  56.     COMPANY$ = ""
  57.     STREET$ = ""
  58.     CITY$ = ""
  59.     ZIP$ = ""
  60.     COUNTRY$ = ""
  61.     PHONE$ = ""
  62.     FAX$ = ""
  63.     
  64.     SetSymbolValue "ProgramPath", GetSymbolValue("STF_SRCDIR") + "VOXTUDIO.EXE"
  65. MAXIMIZE:
  66.     sz$ = UIStartDlg(CUIDLL$, MAXIMIZE, "FMaximizeDlgProc", 0, "")
  67.     NAME1$ = GetSymbolValue("NameOut")
  68.     COMPANY$ = GetSymbolValue("CompanyOut")
  69.     MAXIMIZED$ = GetSymbolValue("Maximized")
  70.     IF sz$ = "CONTINUE" THEN
  71.         UIPop 1
  72.     ELSE
  73.         GOTO MAXIMIZE
  74.     END IF
  75.  
  76.     SRC$ = GetSymbolValue("STF_SRCDIR")
  77. PROTECTED:
  78.     IF IsDirWritable(SRC$) = 0 THEN
  79.         GOSUB WRITEPROTECT
  80.         GOTO PROTECTED
  81.     END IF
  82.         
  83. WELCOME:
  84.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
  85.     IF sz$ = "CONTINUE" THEN
  86.         UIPop 1
  87.     ELSE
  88.         GOSUB ASKQUIT
  89.         GOTO WELCOME
  90.     END IF
  91.  
  92. GETPATH:
  93.     SetSymbolValue "PathIn", DEST$
  94.     SetSymbolValue "PathFocus", "END"
  95. GETPATHL1:
  96.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FPathDlgProc", 0, "")
  97.     DEST$ = GetSymbolValue("PathOut")
  98.  
  99.     IF sz$ = "CONTINUE" THEN
  100.         IF IsDirWritable(DEST$) = 0 THEN
  101.             GOSUB BADPATH
  102.             GOTO GETPATHL1
  103.         END IF
  104.         UIPop 1
  105.     ELSEIF sz$ = "REACTIVATE" THEN
  106.         GOTO GETPATHL1
  107.     ELSE
  108.         GOSUB ASKQUIT
  109.         GOTO GETPATH
  110.     END IF
  111.  
  112.     IF MAXIMIZED$ = "TRUE" THEN
  113.         GOTO NEXTOK
  114.     ENDIF
  115.  
  116. GETREG:
  117.     SetSymbolValue "NameIn",    NAME1$
  118.     SetSymbolValue "CompanyIn",    COMPANY$
  119.     SetSymbolValue "StreetIn",    STREET$
  120.     SetSymbolValue "CityIn",    CITY$
  121.     SetSymbolValue "ZipIn",        ZIP$
  122.     SetSymbolValue "CountryIn",    COUNTRY$
  123.     SetSymbolValue "PhoneIn",    PHONE$
  124.     SetSymbolValue "FaxIn",        FAX$
  125. GETREGL1:
  126.     sz$ = UIStartDlg(CUIDLL$, CDGETNAMEORG, "FNameOrgDlgProc", 0, "")
  127.     NAME1$ = GetSymbolValue("NameOut")
  128.     COMPANY$ = GetSymbolValue("CompanyOut")
  129.     STREET$ = GetSymbolValue("StreetOut")
  130.     CITY$ = GetSymbolValue("CityOut")
  131.     ZIP$ = GetSymbolValue("ZipOut")
  132.     COUNTRY$ = GetSymbolValue("CountryOut")
  133.     PHONE$ = GetSymbolValue("PhoneOut")
  134.     FAX$ = GetSymbolValue("FaxOut")
  135.     SetSymbolValue "NameIn",    NAME1$
  136.     SetSymbolValue "CompanyIn",    COMPANY$
  137.     SetSymbolValue "StreetIn",    STREET$
  138.     SetSymbolValue "CityIn",    CITY$
  139.     SetSymbolValue "ZipIn",        ZIP$
  140.     SetSymbolValue "CountryIn",    COUNTRY$
  141.     SetSymbolValue "PhoneIn",    PHONE$
  142.     SetSymbolValue "FaxIn",        FAX$
  143.  
  144.     IF sz$ = "CONTINUE" THEN
  145.         IF NAME1$ = "" THEN
  146.             GOTO GETREGL1
  147.         ENDIF
  148.         IF COMPANY$ = "" THEN
  149.             GOTO GETREGL1
  150.         ENDIF
  151.         IF STREET$ = "" THEN
  152.             GOTO GETREGL1
  153.         ENDIF
  154.         IF CITY$ = "" THEN
  155.             GOTO GETREGL1
  156.         ENDIF
  157.         IF ZIP$ = "" THEN
  158.             GOTO GETREGL1
  159.         ENDIF
  160.         IF COUNTRY$ = "" THEN
  161.             GOTO GETREGL1
  162.         ENDIF
  163.         IF PHONE$ = "" THEN
  164.             GOTO GETREGL1
  165.         ENDIF
  166.         IF FAX$ = "" THEN
  167.             GOTO GETREGL1
  168.         ENDIF
  169. ASKCONFIRM:
  170.         SRC$ = GetSymbolValue("STF_SRCDIR")
  171. PROTECTED1:
  172.         IF IsDirWritable(SRC$) = 0 THEN
  173.             GOSUB WRITEPROTECT
  174.             GOTO PROTECTED1
  175.         END IF
  176.         sz$ = UIStartDlg(CUIDLL$, CDCONFIRMINFO, "FConfirmDlgProc", 0, "")
  177.  
  178.         IF sz$ = "EXIT" THEN
  179.             UIPopAll
  180.             ERROR STFQUIT
  181.         ELSEIF sz$ = "REACTIVATE" THEN
  182.             GOTO ASKCONFIRM
  183.         ELSEIF sz$ = "CONTINUE" THEN
  184.             UIPopAll
  185.         ELSE
  186.             UIPop 1
  187.             GOTO GETREG
  188.         END IF
  189.     ELSEIF sz$ = "REACTIVATE" THEN
  190.         GOTO GETREGL1
  191.     ELSE
  192.         GOSUB ASKQUIT
  193.         GOTO GETREG
  194.     END IF
  195.  
  196.     GOTO INSTALLOK
  197.     
  198. NEXTOK:
  199.     SetSymbolValue "NameIn",    NAME1$
  200.     SetSymbolValue "CompanyIn",    COMPANY$
  201. NEXTOKL1:
  202.     sz$ = UIStartDlg(CUIDLL$, CDALREADYUSED, "FUsedDlgProc", 0, "")
  203.     IF sz$ = "CONTINUE" THEN
  204.         UIPop 1
  205.     ELSE
  206.         GOSUB ASKQUIT
  207.         GOTO NEXTOK
  208.     END IF
  209.  
  210. INSTALLOK:
  211.     Install
  212.  
  213. QUIT:
  214.     ON ERROR GOTO ERRQUIT
  215.  
  216.     IF ERR = 0 THEN
  217.         dlg% = EXITSUCCESS
  218.     ELSEIF ERR = STFQUIT THEN
  219.         END
  220.     ELSE
  221.         SetSymbolValue "PathOut", ""
  222.         dlg% = EXITFAILURE
  223.     END IF
  224. QUITL1:
  225.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  226.     IF sz$ = "REACTIVATE" THEN
  227.         GOTO QUITL1
  228.     END IF
  229.     UIPop 1
  230.  
  231.     END
  232.  
  233. ERRQUIT:
  234.     i% = DoMsgBox("Setup sources were corrupted, call Xentec nv-sa!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  235.     END
  236.  
  237.  
  238.  
  239. BADPATH:
  240.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  241.     IF sz$ = "REACTIVATE" THEN
  242.         GOTO BADPATH
  243.     END IF
  244.     UIPop 1
  245.     RETURN
  246.  
  247.  
  248.  
  249. ASKQUIT:
  250.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  251.  
  252.     IF sz$ = "EXIT" THEN
  253.         UIPopAll
  254.         ERROR STFQUIT
  255.     ELSEIF sz$ = "REACTIVATE" THEN
  256.         GOTO ASKQUIT
  257.     ELSE
  258.         UIPop 1
  259.     END IF
  260.     RETURN
  261.  
  262.  
  263.  
  264. WRITEPROTECT:
  265.     sz$ = UIStartDlg(CUIDLL$, WRITEPROTECT, "FProtDlgProc", 0, "")
  266.  
  267.     IF sz$ = "EXIT" THEN
  268.         UIPopAll
  269.         ERROR STFQUIT
  270.     ELSEIF sz$ = "REACTIVATE" THEN
  271.         GOTO WRITEPROTECT
  272.     ELSE
  273.         UIPop 1
  274.     END IF
  275.     RETURN
  276.  
  277.  
  278.  
  279. '**
  280. '** Purpose:
  281. '**     Builds the copy list and performs all installation operations.
  282. '** Arguments:
  283. '**     none.
  284. '** Returns:
  285. '**     none.
  286. '*************************************************************************
  287. SUB Install STATIC
  288.  
  289.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  290.     CreateDir DEST$, cmoNone
  291.  
  292.     ClearCopyList
  293.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  294.     CopyFilesInCopyList
  295.  
  296.     CreateProgmanGroup "Vox Studio", "", cmoNone
  297.     ShowProgmanGroup  "Vox Studio", 1, cmoNone
  298.     CreateProgmanItem "Vox Studio", "Vox Studio", MakePath(DEST$,"voxtudio.exe"), "", cmoOverwrite
  299.     CreateProgmanItem "Vox Studio", "Vox Studio Help", MakePath(DEST$,"voxtudio.hlp"), "", cmoOverwrite
  300.     CreateProgmanItem "Vox Studio", "Vox Studio Manual", MakePath(DEST$,"manual.wri"), "", cmoOverwrite
  301.     CreateProgmanItem "Vox Studio", "Readme", MakePath(DEST$,"readme.wri"), "", cmoOverwrite
  302.  
  303. END SUB
  304.  
  305.  
  306.  
  307. '**
  308. '** Purpose:
  309. '**     Appends a file name to the end of a directory path,
  310. '**     inserting a backslash character as needed.
  311. '** Arguments:
  312. '**     szDir$  - full directory path (with optional ending "\")
  313. '**     szFile$ - filename to append to directory
  314. '** Returns:
  315. '**     Resulting fully qualified path name.
  316. '*************************************************************************
  317. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  318.     IF szDir$ = "" THEN
  319.         MakePath = szFile$
  320.     ELSEIF szFile$ = "" THEN
  321.         MakePath = szDir$
  322.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  323.         MakePath = szDir$ + szFile$
  324.     ELSE
  325.         MakePath = szDir$ + "\" + szFile$
  326.     END IF
  327. END FUNCTION
  328.  
  329.